template <typename T>
template <class VST>
void BinNode<T>::travLevel(VST &visit) {
	std::queue<BinNodePosi(T) > q;
	q.push(this);
	while(!q.empty()) {
		BinNodePosi(T) cur = q.front();
		q.pop();

		visit(cur->data);
		if(HasLChild(*cur)) {
			q.push(cur->lc);
		}
		if(HasRChild(*cur)) {
			q.push(cur->rc);
		}
	}
}
